home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / macrosrc.arc / INTR.ASM < prev    next >
Encoding:
Assembly Source File  |  1983-11-17  |  1.2 KB  |  41 lines

  1.  
  2. *INTERRUPT PROCEDURE DEFINITION MACRO
  3. *      SETS UP VECTOR AT 0 AND 2, DISABLE
  4. *      INTERRUPTS, SAVES AC, AR1, AR0, STATUS, PC
  5. *
  6. *A IS INTR NAME (<4 CHAR), B IF MAIN NAME (<4 CHAR)
  7.  
  8.        COPY  CHECK.SCR
  9.        COPY  SACX.SCR
  10.  
  11. INTR   $MACRO            A,B
  12.        $CHECK :A:
  13.        PSEG              PROG SEG
  14.        B    :B:          BRANCH TO MAIN
  15.        DEF  :A:
  16. :A:    EQU  $            INTRPT ENTRY
  17.        DINT              DISBLE
  18.        SST  :A:$S        SAVE STATUS
  19.        LDPK 1            TO 2ND PAGE
  20.        SACX :A:$C        SAVE AC (DOUBLE)
  21.        POP               POP RETURN
  22.        SACL :A:$R,0      SAVE AS RETURN
  23.        SAR  AR0,:A:$0    SAVE AR0
  24.        SAR  AR1,:A:$1    SAVE AR1
  25.        LDPK 0            BACK TO PAGE 1
  26.        $VAR Q
  27.        $ASG '''' TO Q.S
  28.        CSEG :Q::A:$C:Q:  INTRPT COMMON
  29. :A:$S  BSS  1            STATUS SAVE
  30. :A:$C  BSS  2            AC SAVE
  31. :A:$R  BSS  1            RETURN SAVE
  32. :A:$0  BSS  1            AR0 SAVE
  33. :A:$1  BSS  1            AR1 SAVE
  34.        CEND              END
  35.        $VAR P
  36.        $ASG '$$PROC' TO P.S
  37.        $ASG 3 TO P.SV    FLAG INTRPT
  38.        $ASG :A: TO P.SS
  39.        $ASG '$$IPRC' TO P.S
  40.        $ASG :A: TO P.SS
  41.        $END